Introduction to OCL
نویسندگان
چکیده
Visual modeling languages are appealing because “a picture tells more than a thousand words”. The UML is such a visual language and is well known for its graphical notation and diagramming techniques. However, pictures often only tell half of the story and additional information needs to be captured in a different way. For this reason the UML includes the Object Constraint Language (OCL), a textual language which allows a UML modeler to specify these additional constraints. This tutorial shows the importance of constraints as an object-oriented modeling technique and how they add value to the visual modeling techniques and help “telling the complete story”. The OCL language itself and the connection with the visual UML diagrams is thoroughly explained. The final part of the tutorial will show how one can achieve a good balance between the visual and constraint modeling in UML. Biography: JOS WARMER is senior consultant in IBM’s European Object Technology Practice. He was co-author of the IBM/ObjecTime proposal for an object analysis and design language to the OMG and was the representative of IBM in the UML 1.1 core team. He is the chief architect of OCL. Jos has been active in the OT community since 1985, as a trainer, mentor and consultant. ANNEKE KLEPPE has over seven years of experience with object technology, and runs a training and coaching company, Klasse Objecten (“Class objects”): clients include PTT Telecom, NCR, IBM, and the Dutch government. For Dutch PTT Research, she has worked on conformance testing (TTCN), formal specification languages (LOTOS) and established a centre for object technology. She has extensive experience of UML, C++ and Smalltalk. ANNEKE and JOS are co-authors of “The Object Constraint Language: precise modeling with UML” [AWL] and two other books on OT.
منابع مشابه
Aligning OCL with UML
OCL is widely used by UML and other languages to constrain metamodels and perform evaluations on models. Unfortunately no OCL 2.x specification has ever been aligned with any UML 2.x specification. This lack of alignment makes some OCL compliance points such as XMI interchange unachievable. This paper describes how introduction of an OCL Pivot Meta-Model and clear exposition of the Values packa...
متن کاملSafe Navigation in OCL
The null object has been useful and troublesome ever since it was introduced. The problems have been mitigated by references in C++, annotations in Java or safe navigation in Groovy, Python and Xbase. Introduction of a safe navigation operator to OCL has some rather unpleasant consequences. We examine these consequences and identify further OCL refinements that are needed to make safe navigatio...
متن کاملOn Message Specifications in OCL 1
The object constraint language (OCL) is the established language for specifying of properties of objects and object structures. Recently an extension of OCL has been proposed for the specification of messages sent between objects. In this paper we present a generalization of this extension which allows additionally to specify causality constraints. From a pragmatic point of view, such causality...
متن کاملImproving the Usability of OCL as an Ad-hoc Model Querying Language
The OCL is often perceived as difficult to learn and use. In previous research, we have defined experimental query languages exhibiting higher levels of usability than OCL. However, none of these alternatives can rival OCL in terms of adoption and support. In an attempt to leverage the lessons learned from our research and make it accessible to the OCL community, we propose the OCL Query API (O...
متن کاملRoclET– A Tool for Wrestling with OCL Specifications
In this paper, we describe the architecture and the functionality of our own OCL tool called RoclET. Besides standard features of OCL tools such as editing of class and object diagrams and parsing of OCL assertions (invariants, pre-/post-conditions), our tool supports also the evaluation of OCL constraints in a given system snapshot (object diagram), refactoring of UML/OCL models, and impact an...
متن کاملPanel Discussion: Proposals for Improving OCL
During the panel session at the OCL workshop, the OCL community discussed, stimulated by short presentations by OCL experts, potential future extensions and improvements of the OCL. As such, this panel discussion continued the discussion that started at the OCL meeting in Aachen in 2013 and on which we reported in the proceedings of the last year’s OCL workshop. This collaborative paper, to whi...
متن کامل